<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
/*
        给定一个射击比赛成绩单
        包含多个选手若干次射击的成绩分数
        请对每个选手按其最高三个分数之和进行降序排名
        输出降序排名后的选手id序列
        条件如下
        1. 一个选手可以有多个射击成绩的分数，且次序不固定
        2. 如果一个选手成绩少于3个，则认为选手的所有成绩无效，排名忽略该选手
        3. 如果选手的成绩之和相等，则相等的选手按照其id降序排列

        输入描述:
        输入第一行
            一个整数N
            表示该场比赛总共进行了N次射击
            产生N个成绩分数
            2<=N<=100

        输入第二行
            一个长度为N整数序列
            表示参与每次射击的选手id
            0<=id<=99

        输入第三行
            一个长度为N整数序列
            表示参与每次射击选手对应的成绩
            0<=成绩<=100

        输出描述:
            符合题设条件的降序排名后的选手ID序列

        示例一
            输入:
            13
            3,3,7,4,4,4,4,7,7,3,5,5,5
            53,80,68,24,39,76,66,16,100,55,53,80,55
            输出:
            5,3,7,4
            说明:
            该场射击比赛进行了13次
            参赛的选手为{3,4,5,7}
            3号选手成绩53,80,55 最高三个成绩的和为188
            4号选手成绩24,39,76,66  最高三个成绩的和为181
            5号选手成绩53,80,55  最高三个成绩的和为188
            7号选手成绩68,16,100  最高三个成绩的和为184
            比较各个选手最高3个成绩的和
            有3号=5号>7号>4号
            由于3号和5号成绩相等  且id 5>3
            所以输出5,3,7,4
 */

/*
        思路： 传参方法 传递三个参数
        第一个参数为 多少次射击 需要对第一个参数的运算有可能是判断射击次数是否为3次
        第二个参数 表示每次设计的序列  
        第二个数组 首先需要数组去重  获取有多少个选手 参与射击 
        数组去重的方法为生成每一个对象 ，将每一个数组重复的第几次放入对象里面
        第三个数组 则是成绩 根据成绩判断

*/
        // num 人数 man 人数 list 成绩
        let num=13
        let man='3,3,7,4,4,4,4,7,7,3,5,5,5'
        let list='53,80,68,24,39,76,66,16,100,55,53,80,55'
        sort(num,man,list)
        function sort(num,man,list){
           let arr=returnArr(man)
                
        }
        
        // 数组去重
        function returnArr(man) {
            let arr =man.split(',')
            console.log(arr);
            let realArr=[]
            arr.map((item,index)=>{
                let idx=realArr.findIndex(item1=>item1.name==item)
                if(idx==-1){
                    let obj={
                        name:'',
                        arr:[]
                    }
                    obj.name=item
                    obj.arr.push(index)
                    realArr.push(obj)
                }else{
                    realArr[idx].arr.push(index)
                }
            })
            
            realArr.map((item,idx)=>{
                if(item.arr.length<3){
                    realArr.splice(idx,1)
                }
            })
            console.log(realArr);
            return realArr
        }
</script>
</body>

</html>